:root {
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 400;

    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* 亮色主题变量 */
    --bg-color: #ffffff;
    --text-color: #213547;
    --border-color: #dcdfe6;
    --hover-color: #747bff;
    --button-bg: #f9f9f9;
}

/* 暗色主题变量 */
html.dark {
    --bg-color: #1a1a1a;
    --text-color: #ffffff;
    --border-color: #4c4d4f;
    --hover-color: #646cff;
    --button-bg: #2b2b2b;
}

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: var(--bg-color);
    color: var(--text-color);
}

a {
    font-weight: 500;
    color: var(--hover-color);
    text-decoration: inherit;
}

a:hover {
    color: var(--hover-color);
}

button {
    border-radius: 8px;
    border: 1px solid var(--border-color);
    padding: 0.6em 1.2em;
    font-size: 1em;
    font-weight: 500;
    font-family: inherit;
    background-color: var(--button-bg);
    color: var(--text-color);
    cursor: pointer;
    transition: border-color 0.25s;
}

button:hover {
    border-color: var(--hover-color);
}

button:focus,
button:focus-visible {
    outline: 4px auto -webkit-focus-ring-color;
}

.card {
    padding: 2em;
}

#app {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    background-color: var(--bg-color);
    color: var(--text-color);
}

.el-container {
    width: 100%;
    height: 100%;
}

.el-main {
    flex: 1;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.el-aside {
    height: 100%;
}

h1 {
    font-size: 3.2em;
    line-height: 1.1;
}
